# import tkinter as tk
# from tkinter import scrolledtext
# import markdown
# from tkinterhtml import HtmlFrame
#
#
# def convert_to_html():
#     md_text = text_input.get("1.0", tk.END)
#     html_text = markdown.markdown(md_text)
#     html_frame.set_content(html_text)
#
#
# root = tk.Tk()
# root.title("Markdown 编辑器")
#
# # 创建输入框
# text_input = scrolledtext.ScrolledText(root, width=40, height=20)
# text_input.pack(side=tk.LEFT, fill=tk.BOTH, expand=True)
#
# # 创建转换按钮
# convert_button = tk.Button(root, text="转换", command=convert_to_html)
# convert_button.pack()
#
# # 创建 HTML 显示框
# html_frame = HtmlFrame(root, horizontal_scrollbar="auto")
# html_frame.pack(side=tk.RIGHT, fill=tk.BOTH, expand=True)
#
# root.mainloop()
# 舍弃原因：无法进行跨平台设计。

"""设置窗口大小控件
# 调用kivy中的App类，驼峰不要掉
from kivy.app import App
#调用窗口
from kivy.core.window import Window
#设置窗口大小
Window.size=(400,300)
#定义窗口类，为固定部分
class Myapp(App):
    pass
#运行窗口
if __name__=='__main__':
    Myapp().run()
"""
# from datetime import datetime
#
# from kivy.app import App
#

#button控件
# from kivy.app import App
# #引用button库
# from kivy.uix.button import Button
# #引用label库
# from kivy.uix.label import Label
# class ExampleButton(App):
#     #使用窗口
#     def build(self):#程序主体编辑都在这里
#         # return Button(text="Button"),Label(text="Label")
#         return Label(text="Label")
# if __name__=='__main__':
#     ExampleButton().run()

# #窗口控件
# import os
# os.environ['KIVY_TEXT'] = 'pil'
# #引入kivy库中的app类
# from kivy.app import App
# #引入小控件用来在下代码存放文本
# from kivy.uix.gridlayout import GridLayout
# #引入文本控件
# from kivy.uix.label import Label
# #引入输入栏控件
# from kivy.uix.textinput import TextInput
#
# class LoginScreen(GridLayout):
# #**kwargs必须要加，初始化窗格来对窗口进行处理，用gridlayout来控制接下来的界面
#     def __init__(self, **kwargs):
#         #表示覆写原本存在的函数，即不会产生库的冲突？
#         super(LoginScreen, self).__init__(**kwargs)
#         #分成两栏
#         self.cols = 2
#         self.add_widget(Label(text='User Name'))
#         self.username = TextInput(multiline=False)
#         self.add_widget(self.username)
#         self.add_widget(Label(text='password'))
#         self.password = TextInput(password=True, multiline=False)
#         self.add_widget(self.password)
#
# class MyApp(App):
#
#     def build(self):
#         return LoginScreen()
#
# if __name__ == '__main__':
#     MyApp().run()

#图形绘制
# from kivy.app import App
# from kivy.uix.widget import Widget
# from kivy.graphics import Color,Rectangle
# class MyApp(App):
#     def build(self):
#         w=Widget()
#         w.canvas.add(Color(1,1,1))
#         w.canvas.add(Rectangle(pos=(100,100), size=(100,100)))
#         return w
# if __name__=='__main__':
#     MyApp().run()

# #主体窗口
# 放弃：经验太少无法直接进入主体开发
# from kivy.app import App
# class Body(App):
#     def build(self):
#         return

#导入库，实例化，运行

#PongApp.py 存在报错
# from kivy.app import App
# from kivy.uix.widget import Widget
#
# #实际上进行调整的位置，用来实现复杂功能
# class PongGame(Widget):
#     pass
#
# #编译文件为一个kivy窗口
# class PongApp(App):
#     def build(self):
#         return PongGame()
# #判断是否作为主程序运行
# if __name__=='__main__':
#     PongApp().run()

#导入库，实体化，运行
# 计时器 报错 废弃
# from kivy.app import App
# from kivy.uix.widget import Widget
# from kivy.uix.label import Label
# from kivy.clock import Clock
#
# def
# def timesetting():
#     #此处text的%为格式化的意思，整体解释为：期望有三个整数填充在两个冒号左右，这三个数不小于两格长度，若小于用0填充
#     #%：格式化字符起始符号
#     #d：表示按照int类输出
#     #02：0表示位数不足的用0代替，2表示至少占用两个宽度
#     #（000）表示一个元组，这个元组接下来会按照对应的格式化字符串和参数结合起来进行格式化操作
#     return Label(text="%02d:%02d:%02d"%(0,0,0),font_size=56)
#     Clock.schedule_interval(up_time,1)
# Body=App()
# #上述pongapp的简化，直接将封装好的功能在实体化后获取，然后运行
# Body.build=timesetting
# Body.run()

## Class1 调整窗口大小
# from kivy.app import App
# from kivy.uix.button import Button
# from kivy.uix.floatlayout import FloatLayout
# from kivy.uix.popup import Popup
# from kivy.uix.label import Label
# from kivy.uix.textinput import TextInput
# from kivy.core.window import Window
#
#
# class CustomWindowApp(App):
#     # 调用根组件
#     def build(self):
#         # 设置窗口的宽度和高度
#         Window.size = (400, 600)
#         # layout不能被直接使用,因为其作为一个抽象口不予以调用。创建了一个floatlayout的布局实例
#         self.layout = FloatLayout()
#         self.button = Button(text='button')
#         #使用bind方法作为一个监听：当按钮按下后，会执行show_popup这个方法
#         self.button.bind(on_press=self.show_popup)
#         # 按钮添加到layout的布局中
#         self.layout.add_widget(self.button)
#         return self.layout
#
#     # 配置副组件
#     def show_popup(self, instance):
#         content = Label(text="this is a popups")
#
#         self.popup = Popup(title="标题",
#                            content=content,
#                            size_hint=(None, None),
#                            size=(400, 200))
#
#         self.popup.open()
#
# #启动kivy
# if __name__ == '__main__':
#     CustomWindowApp().run()

#尝试依靠自己的力量编写：失败。开发成本过高，更换为PyQt编写主体程序。
# from kivy.app import App
# from kivy.uix.floatlayout import FloatLayout
# from kivy.core.window import Window
# from kivy.uix.textinput import TextInput
#
# class body(App):
#     def build(self):
#         self.layout = FloatLayout()
#         return FloatLayout()

import sys
from PyQt5.QtWidgets import QApplication, QWidget

if __name__ == '__main__':
    # 创建Qt应用程序实例
    app = QApplication(sys.argv)

    # 创建一个QWidget对象，作为主窗口
    w = QWidget()
    w.resize(250, 150)
    w.move(300, 300)
    w.setWindowTitle('Simple')
    w.show()

    # 运行Qt应用程序
    sys.exit(app.exec_())

